package com.skilltrackedu.exception.exception;


import com.skilltrackedu.exception.ErrorInfo;

/**
 * 认证异常类，继承自RuntimeException，用于表示认证过程中出现的错误。
 */
public class AuthException extends RuntimeException {

    private String errMassage;

    /**
     * 构造函数，初始化异常对象并设置错误信息
     * @param message 错误信息
     */
    public AuthException(String message) {
        super(message);
        this.errMassage = message;
    }

    /**
     * 默认构造函数，用于创建异常对象而无需指定错误信息
     */


    /**
     * 抛出一个学成在线异常，用于简化异常抛出的操作
     * @param massage 错误信息
     */
    public static void cast(String massage){
        throw new CommonException(massage);
    }


    /**
     * 抛出一个自定义的SkillTrackException异常
     * 此方法用于在业务逻辑中手动触发异常，以便于统一处理错误情况
     *
     * @param errorInfo 错误信息对象，包含错误的详细信息
     *                  该参数用于初始化异常对象，以便于在异常处理时获取错误信息
     */
    public static void cast(ErrorInfo errorInfo){
        // 直接抛出一个SkillTrackException异常，其错误信息来自errorInfo对象
        throw new CommonException(errorInfo.getErrMessage());
    }
}
